Skip to content

第 7 章 WorkBuddy 使用连接器 ​

1. 连接器解决什么问题 ​

连接器是 WorkBuddy 通向外部服务的入口。装上并完成授权之后,你可以用自然语言让它去查、去改那个服务里你已经有权限的内容:读邮件、建会议、搜知识库、改文档。

页面上的卡片里有 QQ 邮箱、腾讯文档、腾讯乐享、腾讯会议、TAPD,也有飞书、钉钉、企查查。以你自己打开的列表为准。

这一章先把入口底下的协议讲清楚,再用腾讯会议走一遍。飞书那张卡片的接法不同,接到第 8 章再做。

2. 为什么用 MCP ​

你在这里要掌握的协议叫 MCP,Model Context Protocol,模型上下文协议。2024 年底由 Anthropic 开源,现在是一套公开协议。

以前要让一个 AI 应用使用外部服务,开发者得为这个应用和这个服务单独写一套对接。10 个应用、10 个服务,就是 100 套。接口形状、参数、鉴权、出错处理都散落在各套代码里。换一个应用,对接往往要重写。

MCP 把这件事拆开。服务方按同一套协议提供一个 MCP Server。应用方内置 MCP Client。10 加 10,而不是 10 乘 10。模型看见的是统一的工具名、说明和参数,不用背每个网址。

原来:每个 AI 应用自己对接 API现在:MCP
谁来写对接每个应用为每个服务各写一套服务方做一个 Server,应用方做一个 Client
模型看见什么各家自己的路径、参数和错误码统一的工具名、说明和参数
换模型或换应用对接绑在原来的应用上,常常要重写Server 不动,另一个支持 MCP 的应用用自己的 Client 再连一次
鉴权和数据边界密钥和权限散落在各套对接代码里连接按 Server 分开。一个 Server 只收到这次调用需要的参数
协议形状各家各写的 HTTP APIJSON-RPC。远程走 HTTPS,本机进程走 stdio

可以把它想成 AI 世界的 USB-C:设备按同一个口来做,主机按同一个口去接。

原来:应用各自对接 APIMCP:应用连协议,服务提供 ServerAI 应用 AAI 应用 BAI 应用 C会议 API文档 API邮箱 API3 个应用 × 3 个 API = 9 套对接WorkBuddy另一个 MCP 应用再一个 MCP 应用MCP会议 Server文档 Server邮箱 Server应用加 Client,服务加 Server
图 1 · 原来要为每一对应用和服务写对接,MCP 把两边都收到同一套协议上

3. 三个组件怎么配合 ​

MCP 里有三件东西。

Host 是你正在用的应用。在这里就是 WorkBuddy。它负责创建连接、问你是否授权,并把工具返回的结果交给大模型。

Client 在 Host 里面。每连上一个 Server,就有一个 Client 和它保持一对一的会话。会议和乐享是两对,互不混用。

Server 在 Host 外面。它把某一个外部服务收成 MCP 能调用的能力。腾讯会议、乐享这种 Server 在远程,走 HTTPS,后面再去调那个服务自己的 API。你自己添加的服务,可以是远程地址,也可以是本机上的一个进程,本机进程走 stdio。

WorkBuddy · MCP Host管连接、管授权、把工具结果交给大模型大模型只看见 Host 交给它的工具清单和返回值Client · 腾讯会议Client · 乐享Client · 你添加的服务与这个 Server 保持一对一会话另一条会话,不和会议 Client 混用自定义连接器每添加一个,就多一个 ClientJSON-RPCJSON-RPCJSON-RPCMCP Server · 腾讯会议MCP Server · 乐享知识库MCP Server · 本机或你填的地址远程 HTTPS · 再去调腾讯会议自己的 API远程 HTTPS · 按你已有的权限读写知识库本机用 stdio,远程仍用 HTTPS每个 Server 只处理自己这条连接
图 2 · WorkBuddy 是 Host,每个 Client 只连一个 Server

一次调用按这个顺序走。

  1. Host 创建 Client,并决定这条连接能不能用。
  2. Client 和 Server 先交换各自支持的能力,再保持这一对会话。
  3. 模型选定一个工具后,Client 用 JSON-RPC 把调用发给对应的 Server。Server 去访问它背后的系统,把结果交回 Host。
  4. 对话留在 Host。会议 Server 看不到乐享 Server,也看不到你和模型的整段聊天。

本机 Server 处理的数据留在本机。远程 Server 只会收到这一次调用需要的内容,并按你的授权去访问那个服务。密钥不要写进对话,也不要写进配置示例。

1 你说出任务2 模型选工具3 Client 发送4 Server 执行5 结果回到对话明天下午 3 点创建会议JSON-RPC腾讯会议 API会议已创建
图 3 · 创建一场会议时,调用从这句话走到腾讯会议,再回到对话

3.1 协议里的三种能力 ​

能力它让模型做什么这一章怎么遇到
Tools执行一个动作,例如创建会议、搜索知识库第 5 节的腾讯会议走的就是工具调用
Resources读取一份外部数据,作为上下文协议里有。这一章不单独演示
Prompts一份预先写好的调用模板协议里有。连接器卡片不靠它来上课

4. 是不是全都是 MCP ​

连接器是你点的那张卡片。卡片底下有两种接法,一个连接器只选一种。

走 MCP 的,包里是一份名片 connector-meta.json,加一份 mcp.json,用来写连哪一个 Server。需要告诉模型怎么用这些工具时,可以再放第 5 章那种 Skill。MCP 自己已经带了工具名和参数,所以这份 Skill 可以不放。

text
MCP 连接器/
├── connector-meta.json
├── mcp.json
├── icon.svg
└── skills/
    └── 技能名/SKILL.md

走命令行的,包里是名片加一份 cli.json,写怎么安装、登录、查询状态和退出。命令行没有统一的工具描述,所以要有一份 Skill,把命令怎么调用写清楚。

text
命令行连接器/
├── connector-meta.json
├── cli.json
├── icon.svg
└── skills/技能名/SKILL.md

课堂上不用手写这些文件。点卡片就会装好。

打开连接器页能看见这两种。右上角「自定义连接器」添加的是 MCP Server。乐享授权时会写明通过乐享知识库 MCP,按你已有的权限搜索和整理知识库。列表里的飞书写的是通过命令行管理,那是另一种接法,步骤在第 8 章 飞书办公实战:从接入到交付。

5. 实操:连上腾讯会议,创建一场会 ​

在「专家·技能·连接器」里打开「连接器」,找到腾讯会议,点卡片上的加号,按页面完成登录和授权。连上之后,卡片上会出现进入对话的入口。

图 3 的五步,这里就是第 1 步由你说出。在对话里说:

text
帮我创建一个明天下午 3 点的会议,主题是「项目讨论」,时长 1 小时。

模型会选创建会议这个工具,Client 把调用发给腾讯会议的 MCP Server,Server 再去调腾讯会议自己的接口。创建这种写入要你确认之后才会执行。

6. 添加一个 MCP Server ​

市场卡片里没有的服务,用右上角「自定义连接器」。打开的就是 MCP 服务管理:安装 MCP 服务,或按配置添加。

远程服务填 HTTPS 地址。本机上的 Server 用启动命令,走 stdio。一个自定义连接器只配一个 Server。这个连接器能碰到哪些数据,由你填的地址和鉴权决定。

7. 停用、解绑,以及它和 Skill、专家的关系 ​

这一轮不想用某个连接器,点输入框左下角的加号,打开「连接器」,关掉对应的开关。授权还在,只是这次任务不调用它。

要断开授权,回到连接器页,在已连接的卡片上解绑。解绑之后恢复成未连接,下次要用要重新授权。

连接器负责把外部服务接通。Skill 负责把一种做法写清楚,包括这个服务的工具该怎么用。专家负责按一个岗位来做,岗位需要外部服务时,调用的就是已经连上的连接器。

连接器自己的读写不消耗积分。WorkBuddy 理解、汇总外部返回的内容时,才消耗积分。

以真实任务为主线的 WorkBuddy 实战与应用教材